🕸️ Ada Research Browser

README.md
← Back

RCD-CUI: Research Computing CUI Compliance Automation

CI SPRS Score Last Assessment

An Ansible-based framework for deploying and auditing NIST 800-171 compliant research computing infrastructure with CUI (Controlled Unclassified Information) protection.

Overview

RCD-CUI provides:

Target Environment

Security Zones

The framework implements three security zones:

Zone Purpose Controls Applied
management Infrastructure services, identity management Full control set
internal General research computing Standard controls
restricted CUI data processing (HPC clusters) Enhanced controls + HPC tailoring

Role Categories

Access Control (AC)

Audit and Accountability (AU)

Configuration Management (CM)

Identification and Authentication (IA)

System and Communications Protection (SC)

System and Information Integrity (SI)

HPC-Specific Controls

Quick Start

Prerequisites

Setup

# Create local development environment
make env
source .venv/bin/activate

# Build the Ansible Execution Environment
make ee-build

# Install required Ansible collections
make collections

Validation

# Run linting inside the execution environment
make ee-syntax-check
make ee-lint
make ee-yamllint

Deployment

# Run playbooks via execution environment
make ee-shell
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Compliance Workflow

Assessment and Reporting

# Run compliance assessment
make assess

# Generate SPRS score breakdown
make sprs

# Generate POA&M status report
make poam

# Generate HTML compliance dashboard
make dashboard

# Bundle auditor-ready package
make auditor-package

Evidence Collection

# Collect compliance evidence
make evidence

Documentation Generation

# Generate audience-specific documentation
make docs

# Generate framework crosswalk (CSV)
make crosswalk

# Validate all YAML schemas
make validate-schemas

Project Onboarding/Offboarding

For CUI projects, automated onboarding and offboarding playbooks manage:

# Onboard a new CUI project
ansible-playbook playbooks/onboard_project.yml -e project_name=myproject

# Offboard with 24-hour grace period
ansible-playbook playbooks/offboard_project.yml -e project_name=myproject

Key Files

Path Purpose
roles/common/vars/control_mapping.yml NIST 800-171 control definitions and crosswalk
docs/glossary/terms.yml Plain-language glossary (60+ terms)
docs/hpc_tailoring.yml HPC-specific control modifications
docs/odp_values.yml Organization-Defined Parameters (49 ODPs)
execution-environment.yml Ansible Builder container definition
inventory/group_vars/ Zone-specific variables

Constitutional Principles

All implementations follow these core principles:

  1. Plain Language First - All documentation understandable by non-experts
  2. Data Model as Source of Truth - YAML data models generate all outputs
  3. Compliance as Code - Security controls implemented as declarative Ansible
  4. HPC-Aware - Tailored controls for research computing constraints
  5. Multi-Framework - Support NIST 800-171 Rev 2/3, CMMC L2, NIST 800-53 R5
  6. Audience-Aware - Documentation for 5 stakeholder types
  7. Idempotent and Auditable - Repeatable operations with audit trails
  8. Prefer Established Tools - Standard tooling (PyYAML, Pydantic, Jinja2)

License

See LICENSE file for details.